Міністерство освіти і науки України
Національний університет «Львівська політехніка»
Кафедра ЕОМ
/
Курсова робота
на тему:
«Протокол SSH»
з дисципліни:
«Програмні технології захисту інформації»
Львів-2015
Зміст
Вступ 2
1. Протокол SSH 3
1.1. Архітектура 3
1.2. Основні функції 6
1.3. Забезпечення безпеки 6
1.4. Автентифікація сервера 7
1.5. Автентифікація клієнта 8
1.6. Протокол SFTP 9
2. Практичне використання SSH 11
2.1. Особливості SSH-клієнта WinSCP 11
2.1.1. Конфіденційність 13
2.1.2. Автентифікація 13
2.1.3. Обмін ключами 15
3. Програмна реалізація SSH клієнта 16
3.1. SharpSSH 17
3.2. Встановлення з’єднання 19
3.3. Передача файлів 19
4. Тестування розробленого продукту 21
4.1. Тестування основного функціоналу 21
4.2. Тестування швидкодії 22
Висновок 24
Список використаної літератури 25
Додатки 26
Вступ
Secure Shell, SSH (англ. Secure Shell – безпечна оболонка) – мережевий протокол рівня застосунків, що дозволяє проводити віддалене управління комп’ютером і тунелювання TCP-з’єднань (наприклад для передачі файлів). Схожий за функціональністю з протоколом Telnet і rlogin, проте шифрує весь трафік, в тому числі і паролі, що передаються.
Протокол SSH забезпечує захищену аутентифікацію, з’єднання і безпечну передачу даних між хостами мережі, шляхом шифрування трафіку, з можливою компресією даних. Ще однією важливою функціональною особливістю, є можливість створення захищених, шифрованих тунелів, для безпечної передачі через небезпечне середовище (наприклад інтернет), інших мережевих протоколів, також з можливістю зжимання трафіку.
Зараз протокол SSH, є стандартом, і широко використовується, наприклад, для віддаленого адміністрування серверних систем, тобто виконання різних команд і маніпуляцій в оболонці сервера через безпечне з’єднання, копіювання файлів через мережу.
Протокол існує в двох варіантах. Комерційна версія, розроблена SSH inc, і безкоштовна, з відкритим кодом – OpenSSH, яка в основному і використовується на більшості серверних платформах. Реалізація OpenSSH, є в усіх операційних системах сімейства Unix, і в більшості з них, SSH сервер і SSH клієнт, є стандартними утилітами.
Протокол SSH
Архітектура
З моменту створення протоколу SSH в 1995 році, було випущено декілька різних версій, головними з яких є версія 1.5 ( SSH1) і версія 2 (SSH2).
Ці два протоколи SSH несумісні між собою. В протоколі SSH1 часом виникають проблеми з безпекою. Цей протокол довше використовується і для нього існує більш обширена база підтримки. В SSH1 підтримується лише асиметричне шифрування RSA. SSH2 – більш новий і багатий можливостями протокол, який поки що, успішно витримує всі перевірки. Але встановлення з’єднання по протоколу SSH2 потребує набагато більше часу. SSH2 підтримує асиметричні алгоритми RSA і DSA.
Протокол SSH включає три основні компоненти:
Протокол транспортного рівня [SSH-TRANS] забезпечує аутентифікацію серверів, конфіденційність і цілісність. Цей протокол може також забезпечувати стиснення інформації. Транспортний рівень працює в основному з використанням з’єднання TCP/IP, але може бути реалізований на базі інших протоколів даних з гарантованою доставкою.
Протокол аутентифікації користувачів [SSH-USERAUTH] використовується на серверах для перевірки повноважень клієнтів. Цей протокол працює на основі протоколу транспортного рівня.
Протокол з’єднання [SSH-CONNECT] забезпечує мультиплексування шифрованого тунеля в декілька логічних каналів і працює поверх протокола аутентифікації користувачів.
/
Рис. 1.1. Архітектура протоколу SSH
Клієнт передає один запит на обслуговування в процесі організації безпечного з’єднання на транспортному рівні. Інший запит на обслуговування передається після успішної перевірки повноважень клієнта. Таке рішення забезпечує можливість створення нових протоколів і їх спільного використання з перечисленими вище протоколами.
Кожному серверному хосту слід мати ключ (host key). Хости можуть мати безліч ключів, створених з використанням різних алгоритмів. Можливе використання одного клю...